今天進到 [數據分析實作一] Step 2,今天要做的是框起來的地方,我們要把檔案從 Cloud SQL 抽取,並存放到 cloud storage。
完成 Day 15
cloud shell
往下拉可以看到:
我們把這組服務帳戶複製起來,你的cloud SQL 服務帳戶會和我的不一樣。
到 IAM 頁面,點選身分與存取權管理,點選授予存取權:
搜尋 GCS,點選 storage 管理員,並建立。
到這裡 Cloud SQL 就能夠讀取和寫入 GCS。
先設定 buket_name:
bucket_name='ithome-bq-test'
gcloud sql export csv mysql-instance \
gs://$bucket_name/mysql_export/tv_shows_dashboard.csv \
--database=bq_test_db \
--offload \
--query='SELECT * FROM tv_shows;'
跑完後,可以在 cloud storage 底下看到檔案。
因為後面不會用到 Cloud SQL了,這裡可以先刪掉避免產生額外的費用。
gcloud sql instances delete mysql-instance
你可能覺得有點奇怪,為什麼這個練習不要直接從 cloud storage就好了,還要很辛苦先建置 cloud SQL,最後還要再刪掉它?
其實是因為我們在模擬實際的情況,通常我們可能會需要先從 Cloud SQL 存取資料,另外,我們一般分析能取用到的資料庫是 clone instance,才不會影響到生產環境。
從 Cloud SQL 傳資料到 GCS的執行細節: